UnityのVisualScriptingの話
概要
とりあえず触る機会があったのでつらつらと書いておく
超ざっくりいうと、レベルデザインとかをデザイナーさんにお願いするための機構。
なるほど思ってたんと違う。
プログラミングをしなくてもインタラクティブなAppを作れるもの
ではなく、スクリプトを可視化したもの。
これはスクリプティングによる構造化のエイリアスなんだな。Rxとか向いてるんでは?
タイプ
コンパイラに型情報を伝えるための情報。floatとかintとかstringとか。
UnityコンポーネントはぜんぶObjectタイプ。なるほど。
変数
コンテナ。名前 + タイプ + 値を持つ。実行時に変更される。
次の種類(スコープ)がある。
フロー変数
グラフ変数
オブジェクト変数
シーン変数
シーン内での共有変数
アプリケーション変数
シーン間を超えてアクセスできる変数。シーン間で利用可能。
保存された変数
Unityがserialize/deserializeしてくれる記録。
グラフ
ロジック = 資格化したスクリプトを視覚的に表したもの、論理の資格的表現
FlowとStateがある。
Flow
流れ作業を繰り返すやつ。
State
シーン全体の状態を管理する
状態遷移系。
マシン
グラフを再生するコンポーネント。
ScriptMachineとStateMachineの2種がある。
Embeded, Graph(?)
マシンに対してグラフを埋め込む(再利用しない)、
他の
グループ
グラフを整理するためのグループ。
所感
これはなんか追記するけど、
・Unity C#とは別に、UnityならではのLifeTime設計ができるツールキット ・内部記述はUnity C#でできる、コードの再利用テンプレート
という感じがしている。